home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ 11⁄10⁄89 / 0049-Structure of THINK P-Nov89 < prev    next >
Encoding:
Text File  |  1989-11-10  |  2.7 KB  |  85 lines  |  [TEXT/GEOL]

  1. Item forwarded  by  SCHMUCKER1   to ALCABES
  2.  
  3. Item forwarded  by  BURBECK.S    to D2600        P.BORENSTEIN
  4.  
  5. Item forwarded  by  SCHMUCKER1   to D0152
  6.  
  7. Item forwarded  by  A33          to A34
  8.  
  9. Item    2430430                         7-Nov-89        02:23
  10.  
  11. From:   MADA.EUROPE                     MacApp Dev Assoc Europe, E Carrasco
  12.  
  13. To:     MACAPP.TECH$                    MacApp Technical
  14.  
  15. Sub:    Structure of THINK Pascal VMT
  16.  
  17. Attn:  THINK Pascal specialists
  18.        MADA USA
  19.        ⁄ MacApp.Tech$
  20.  
  21. From:  Eric Carrasco
  22.        MADA Europe
  23.        2, allée des Acacias
  24.        F-95130 Le Plessis Bouchard
  25.        France
  26.        ⁄ MADA.Europe
  27.  
  28. Sub:   Structure of THINK Pascal VMT.
  29.  
  30.  
  31.   Dear All,
  32.  
  33.   May I have your attention on this problem.
  34.  
  35.   We ported MacApp source code to THINK Pascal since two weeks. We can compile
  36. any MacApp Application source code. So, we can use LSP editor facilities to
  37. correct your source code dynamically (very usefull).
  38.  
  39.  
  40.   The problem is we can't **LINK** MacApp because of some methodes which
  41. depends on MPW Pascal Method table...
  42.   PROCEDURE %_CLASSINFO returns a pointer (in that case, a handle) to VMT
  43.  
  44.     and finally, we get a pSuperClassTable global variable, A Macintosh handle
  45. to VMT. (see UObject.Globals.p; Line 45)
  46.  
  47. (Just a small parenthesis here. Mary, I can't see pSuperClassTable nor
  48. UObject.inc1.p global variables with the Mouser. Of course, MacAppers don't
  49. needs those globals. Maybe we could get an usefull "Complete Source Code For
  50. Curious and Hackers MacAppers" Option).
  51.  
  52.   pSuperClassTable is a handle to the combined superclass & classlist table.
  53. The integer at pSuperClassTable^^ gives the size of the superclass table. The
  54. classlist table immediately follows the superclass table and the first integer
  55. in the classlist table gives the size of the classlist table.
  56.  
  57.   We now have to do a very short work: all procedures which use this variable
  58. have to be reimplemented for LSP.
  59.   PROCEDURE GetClassNameFromID;  { uses pSuperClassTable }
  60.   FUNCTION GetSuperClassID;      { uses pSuperClassTable }
  61.   PROCEDURE InitUObject;         { uses pSuperClassTable }
  62.   PROCEDURE OrderClassIdsByName; { uses pSuperClassTable to build the
  63. pOrderedClassIds global variable }
  64.  
  65.   PROCEDURE GetClassIDFromName;  { uses pOrderedClassIds }
  66.   FUNCTION GetClassSizeFromId;   { uses pOrderedClassIds }
  67.  
  68.   other methods depends on VMT structure:
  69.  
  70.   FUNCTION GetClassID;
  71.  
  72.  
  73.   If anybody is in relation with Symantec, please send them this message.
  74.  
  75.  
  76.   Remember we work on it for **YOU** MacAppers and specially beginers.
  77.   I'm quite sure (and I know) that a lot of THINK Developpers will come to
  78. MacApp after we finished this work. Thanks for your help.
  79.  
  80.  
  81. Regards,
  82.  
  83. .Eric
  84.  
  85.